Euclidean geometry proving